package com.qinggeng.project.system.service;

import com.qinggeng.project.system.domain.Company;
import com.qinggeng.project.system.domain.JobUser;

import java.util.List;

public interface ICompanyService {

    /**
     * 新增公司
     * @param company
     * @return
     */

    boolean insertCompany(Company company);

    /**
     * 根据ID删除公司
     * @param id
     * @return
     */
    boolean deleteCompanyById(Long id);

    /**
     * 根据ID删除公司
     * @param ids
     * @return
     */
    int deleteCompanyByIds(Long[] ids);

    /**
     * 更新公司
     * @param company
     * @return
     */
    boolean updateCompany(Company company);

    boolean checkCompany(Company company);

    /**
     * 查询公司列表
     * @param where
     * @return
     */
    List<Company> listCompany(Company where);

    public List<Company> listCompanyByJobUserId();

    /**
     * 根据Id查询公司
     * @param id
     * @return
     */
    Company getCompanyById(Long id);

    /**
     * 根据id和用户id查询公司
     * @param id
     * @param
     * @return
     */
    Company getCompanyByIdAndJobUserId(JobUser jobUser,Long id);



    /**
     * 检查用户是否拥有公司
     * @param
     * @return
     */
    boolean checkCompanyIsExists(Long jobUserId);

    /**
     * 根据用户Id查询公司数量
     * @return
     */
    Integer getCompanyNumByJobUserId(Long jobUserId,String status);

    /**
     * 获取默认公司
     * @param jobUser
     * @return
     */
    Company getDefaultCompany(JobUser jobUser);

    /**
     * 设置默认公司
     * @param jobUser
     * @param companyId
     * @return
     */
    boolean setDefaultCompany(JobUser jobUser, Long companyId);


}
